1. Field of the Invention
This invention relates generally to radio frequency receivers, and more specifically to detecting a preamble of a spread spectrum radio signal.
2. Related Art
A demodulator for the 802.15.4 wireless personal area network (PAN) protocol promulgated by the Institute of Electrical and Electronics Engineers (IEEE) synchronizes to each packet by first detecting a preamble, then searching for a start of frame delimiter (SFD) that follows the preamble. Detection and synchronization algorithms are designed to provide a high probability of correct synchronization, balanced with a low probability of false detection and synchronization. Preamble detection logic searches the output of a correlator for a pattern, or signature, that indicates that analog-to-digital (A/D) samples outputted by a receiver include a preamble signal notwithstanding that the preamble signal may be noisy. When the samples consist only of noise, the correlator produces output peaks with random amplitude. The preamble detection logic is designed to reject such noise-only conditions with high reliability. Classic detection algorithms use a correlator output threshold, above which the preamble detection logic determines that a signal, with noise, is present. Below the threshold, the preamble detection logic determines that only noise is present, or that a signal, too weak to receive in subsequent demodulation, is present. The performance of known amplitude threshold algorithms have shown that optimizing the threshold for false detection has an inverse effect on detection performance. Because of the strong inverse relationship, the threshold is a very sensitive parameter that is also affected by radio gain variations (e.g., automatic gain control algorithms), noise figure variations, and the presence of interference.
The 802.15.4 protocol with a 2.4 GHz physical layer (PHY) of the Open Systems Interconnection Basic Reference Model specifies 32-chip spreading codes.
One known product designed for the 802.15.4 protocol with a 2.4 GHz PHY and 32-chip spreading codes performs a correlation to a single code, or symbol, without any frequency offsets, and its preamble detection algorithm achieves an average false detection interval of 7 sec in a continuous search mode. Although 7 sec is a relatively long interval compared to a maximum packet length of 4.3 msec, a 7 sec average false detection interval is nevertheless undesirable and it may cause a reduction in battery life in some applications.
Another known product designed for the 802.15.4 protocol with the 2.4 GHz PHY and 32-chip spreading codes, has two preamble detection algorithms to improve false detection performance, i.e., to increase the average false detection interval. This known product provides about a one hundred times increase in the average false detection interval compared to the first mentioned product, while maintaining a high detection/synchronization performance. One of these two algorithms, which does not require an automatic frequency control (AFC), is a “polyphase” detection algorithm, meaning that it correlates to more than one phase, or code. The other of these two algorithms, which does require AFC, is a “joint time-frequency” detection algorithm that includes a bank of correlators, each correlator having a different frequency offset.
The polyphase algorithm correlates to two (or more) codes simultaneously to provide additional un-correlated detection metrics. Because the 32-chip codes of the 802.15.4 protocol are related by a circular shift, correlation to alternate codes during the eight-code preamble produces alternate signal peaks that occur at 4*n chip intervals (n=0, 1, . . . , 7). The polyphase algorithm includes a two-code detection implementation using n=0 (symbol “0”) and n=4 (symbol “4”). With the polyphase algorithm, the eight-code preamble produces a theoretical maximum of fifteen (15) strong peaks, instead of a theoretical maximum of eight (8) strong peaks that the preamble would produce for a single-code correlation. By using almost two times as many peaks, which are un-correlated when only noise is present, false detections are approximately two orders of magnitude less likely to occur compared to using the polyphase algorithm. The polyphase algorithm is used only for a differential chip detection (DCD) mode of the demodulator.
The joint time-frequency algorithm provides an improved sensitivity and a better delay spread tolerance compared to the polyphase algorithm, and the joint time-frequency algorithm improves communications range by approximately two times. The joint time-frequency algorithm simultaneously detects the preamble and estimates the frequency offset, so that the resulting frequency correction can be applied during payload detection. The frequency offset is detected by repeating each correlation at eleven (11) different frequency offsets, where the frequency separation between frequency offsets is selected as Δf to allow no more than 2 dB degradation in the correlator versus frequency response. The detection rules then require a sequence of four (4) correlation peaks (one per symbol) on up to two adjacent frequencies. For a set of correlations with frequency separation Δf, noise out of the correlator is random and un-correlated. By using a set of eleven (11) correlations, each at a different frequency offset, it is less likely for noise to produce a sequence of four correlator peaks at the same or adjacent frequencies, compared to using one correlation. The joint time-frequency algorithm is used only for a non-coherent chip detection (NCD) mode of the demodulator, which means correlation of a received chip sequence having random phase rotations, with known chip sequences, after which a symbol decision is made based upon the correlation that produced a largest correlation magnitude.
The 802.15.4b protocol includes a 900 MHz/250 Kbps PHY that is substantially similar to the 2.4 GHz/250 Kbps PHY, with the exception that the length of the spreading codes is cut in half. The 900 MHz PHY of the 802.15.4b protocol specifies 16-chip spreading codes. The 900 MHz PHY uses 16-chip spreading codes instead of the 32-chip spreading codes used for the 2.4 GHz PHY because the bandwidth of 900 MHz channels is smaller than the bandwidth of 2.4 GHz channels. Therefore, to maintain, at 900 MHz, the same data rate as the data rate at 2.4 GHz, the number of chips per symbol is reduced. The shortened length of the spreading codes detrimentally impacts detection and synchronization performance. Also, for the 900 MHz PHY, the average false detection interval disadvantageously decreases because of decreased decorrelation in the frequency domain.
Because of the shortened length of the spreading codes, the preamble detection algorithms of the known products do not produce acceptable performance. The known algorithms were designed for the 2.4 GHz PHY and 32-chip spreading codes, and, when used with the 900 MHz PHY and 16-chip spreading codes, the false detection performance degrades. Using the preamble detection algorithms of the known products to detect a preamble comprising 16-chip codes would result in an approximately ten times degradation in the average false detection interval compared to using the same algorithms to detect a preamble comprising 32-chip codes. Such degradation would reduce performance to a level well below most system requirements.